#include<stdio.h>
#define gny  128
#define gnx  gny  
#define iloop for(int i=1;i<=gnx;i++)
#define i0loop for(int i=0;i<=gnx;i++)
#define jloop for(int j=1;j<=gny;j++)
#define j0loop for(int j=0;j<=gny;j++)
#define ijloop iloop jloop
#define i0jloop i0loop jloop
#define ij0loop iloop j0loop
#define iloopt for(int i=1;i<=nxt;i++)
#define i0loopt for(int i=0;i<=nxt;i++)
#define jloopt for(int j=1;j<=nyt;j++)
#define j0loopt for(int j=0;j<=nyt;j++)
#define ijloopt iloopt jloopt 
#define i0jloopt i0loopt jloopt 
#define ij0loopt iloopt j0loopt 
#define NR_END 1

#define FLOAT double

FLOAT* dvector(long nl, long nh);

FLOAT** dmatrix(long nrl, long nrh, long ncl, long nch);

void free_dmatrix(FLOAT** m, long nrl, long nrh, long ncl, long nch);

void free_dvector(FLOAT *v, long nl, long nh);

void mat_add(FLOAT** a, FLOAT** b, FLOAT** c, int xl, int xr, int yl, int yr);

void mat_add2(FLOAT** a, FLOAT** b, FLOAT** c, FLOAT** a2, FLOAT** b2, FLOAT** c2, int xl, int xr, int yl, int yr);

void zero_vector(FLOAT* a, int xl, int xr);

void zero_matrix(FLOAT** a, int xl, int xr, int yl, int yr);

void mat_copy(FLOAT** a, FLOAT** b, int xl, int xr, int yl, int yr);

void mat_copy2(FLOAT** a, FLOAT** b, FLOAT** a2, FLOAT** b2, int xl, int xr, int yl, int yr);

void mat_sub(FLOAT** a, FLOAT** b, FLOAT** c, int nrl, int nrh, int ncl, int nch);

void mat_sub2(FLOAT** a, FLOAT** b, FLOAT** c, FLOAT** a2, FLOAT** b2, FLOAT** c2, int nrl, int nrh, int ncl, int nch);

FLOAT max_matrix(FLOAT** m, int nxi, int nxt, int nyi, int nyt);

FLOAT mat_max(FLOAT** a, int nrl, int nrh, int ncl, int nch);

FLOAT max_vector(FLOAT* v, int ni, int nt);

void   print_uvp(FLOAT** u, FLOAT** v, FLOAT** p, int count);

void   print_bd_posi(FLOAT** bd_posi, char* bufferposi, int nt, int count);

void print_mat(FILE * fptr, FLOAT ** a, int nrl, int nrh, int ncl, int nch);

void mat2vec(FLOAT *arr, FLOAT **mat, int rl, int rr, int cl, int cr);

void vec2mat(FLOAT** mat, FLOAT *arr, int rl, int rr, int cl, int cr);

void free_dvector(FLOAT *v, long nl, long nh);



